package cn.uhua.erp.pms.common.model;

import java.io.Serializable;
import java.util.Objects;

import lombok.Data;

@Data
public class AuthorityId implements Serializable {// 复合主键类，必须实现Serializable

    private String user; // 与Authority实体中的user字段对应
    private String authority; // 与Authority实体中的authority字段对应

    // 无参构造方法（必须）
    public AuthorityId() {}

    // 全参构造方法
    public AuthorityId(String user, String authority) {
        this.user = user;
        this.authority = authority;
    }

    // 重写equals和hashCode（基于所有主键字段）
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        AuthorityId that = (AuthorityId) o;
        return Objects.equals(user, that.user) &&
               Objects.equals(authority, that.authority);
    }

    @Override
    public int hashCode() {
        return Objects.hash(user, authority);
    }
}
